Comprehensive Usage Manual & Examples
This manual provides an in-depth operational guide for Void-Builder, detailing all command-line options, architecture targets, output formats, compression choices, and 10 complete end-to-end execution examples.
1. Supported Architecture Targets Matrix
Void-Builder natively supports 12 target architectures and single-board computer platform profiles.
Target Name |
Architecture Family |
C Standard Library |
Target Hardware |
Default Engine |
|---|---|---|---|---|
|
x86 64-bit |
glibc |
Standard Intel/AMD 64-bit PCs & Laptops |
|
|
x86 64-bit |
musl |
Lightweight 64-bit PCs & Servers |
|
|
x86 32-bit |
glibc |
Legacy 32-bit Intel/AMD PCs |
|
|
ARM64 64-bit |
glibc |
Generic ARM64 Servers & Workstations |
|
|
ARM64 64-bit |
musl |
Lightweight ARM64 Containers & SBCs |
|
|
ARMv7 32-bit |
glibc |
Generic 32-bit ARMv7 Hard-Float SBCs |
|
|
ARMv7 32-bit |
musl |
Lightweight 32-bit ARMv7 Devices |
|
|
ARM64 64-bit |
glibc |
Raspberry Pi 3, 4, 400, 5, Zero 2 W |
|
|
ARMv7 32-bit |
glibc |
Raspberry Pi 2, 3 (32-bit mode) |
|
|
ARMv6 32-bit |
glibc |
Raspberry Pi 1, Zero (32-bit ARMv6) |
|
|
ARM64 64-bit |
glibc |
Pine64 Pinebook Pro (Rockchip RK3399) |
|
|
ARM64 64-bit |
glibc |
Apple Silicon Macs (M1, M1 Pro/Max, M2) |
|
2. Output Formats Explained
Void-Builder supports multiple production output format types specified via --format:
A. Bootable ISO Image (--format iso)
Extension:
.isoUse Case: Bootable Live USB flash drives, DVDs, live virtual machine testing (QEMU, KVM, VirtualBox, VMware).
Structure: Hybrid ISO 9660 filesystem containing a SquashFS container image (
LiveOS/squashfs.img), El Torito BIOS MBR boot code (SYSLINUX), and UEFI FAT boot image (boot/grub/efiboot.img).
B. Virtual Machine Disk Images (--format qcow2, --format vdi, --format vmdk, --format vhdx)
QEMU / KVM (
--format qcow2): Compressed, sparse copy-on-write virtual disk image ready forqemu-system-*,virt-manager,Proxmox VE, orOpenStack.VirtualBox (
--format vdi): Native VirtualBox disk image ready to attach directly to a VM.VMware (
--format vmdk): Native VMware Workstation / Player / ESXi virtual machine disk.Hyper-V (
--format vhdx): Native Microsoft Hyper-V virtual hard disk image.Structure: Partitioned virtual disk (GPT: EFI System Partition + ext4 rootfs, pre-installed GRUB2 bootloader,
/etc/fstabwith UUIDs, kernel, and customized user stack).
C. Raw Platform & Flashable Disk Image (--format img, --format raw)
Extension:
.img/.rawUse Case: Single-Board Computers (Raspberry Pi, Pinebook Pro, Apple Silicon Asahi, ThinkPad X13s) and physical SSD/USB drive cloning. Designed to be flashed directly using
dd, Raspberry Pi Imager, or BalenaEtcher.Structure: Partitioned disk image (Partition 1: VFAT
/bootpartition; Partition 2: EXT4 root/partition).
D. RootFS Container Tarball (--format tarball)
Extension:
.tar.xzor.tar.zstUse Case: Docker container base images, Podman containers, LXC/Proxmox templates, systemd-nspawn containers, chroot bootstrap environments.
Structure: Compressed tar archive containing the exact customized root directory structure (
/bin,/etc,/usr,/var).
3. Stage Seed Tarball System (Gentoo-Style Rapid ISO Builds)
Void-Builder incorporates a Stage Seed Tarball mechanism inspired by Gentoo Linux’s Stage3 seed architecture:
--use-tarball [SOURCE]:Unpacks a pre-built base rootfs tarball (
void-base-<arch>.tar.xz) directly into the target chroot.Automatically runs
xbps-install -Syuinside the chroot to bring base packages up to the latest Void Linux repository release.Layers requested desktop environments and additional package profiles in seconds, bypassing redundant base downloads.
Supported Sources:
--use-tarball y/--use-tarball auto: Automatically looks for cached stage seeds inoutput/stage_seeds/orcache/tarballs/.Local file:
/path/to/stage.tar.xzorfile:///...Remote URL:
https://...(downloads and caches the tarball automatically).
--create-tarball:Saves the bootstrapped base rootfs as a reusable stage seed in
output/stage_seeds/void-base-<arch>.tar.xzandcache/tarballs/void-base-<arch>.tar.xzalongside its SHA256 and MD5 checksums.
4. Compression Algorithms Compared
Select the compression algorithm via --compression:
Algorithm |
Compression Ratio |
Decompression Speed |
CPU Usage |
Best For |
|---|---|---|---|---|
|
Very High (Smallest file size) |
Moderate |
High |
Distribution ISOs, internet downloads |
|
High (Very close to XZ) |
Ultra Fast (3-5x faster boot) |
Low |
High-performance desktop ISOs, fast boots |
|
Moderate |
Fast |
Low |
Compatibility with legacy systems |
4. Complete Usage Examples
Example 1: Standard Non-Root Simulation (Mock Build)
Simulate an x86_64 ISO build with XFCE desktop environment without root privileges:
python3 cli.py x86_64 -d xfce --mode mock
Expected Output Files in output/:
void-builder-xfce-x86_64.isovoid-builder-xfce-x86_64.iso.sha256void-builder-xfce-x86_64.iso.sha512void-builder-xfce-x86_64.iso.md5void-builder-xfce-x86_64.iso.manifest.json
Example 2: Ultra-Fast RAM Build with Benchmark Timings
Build a live ISO entirely inside RAM (tmpfs) with zstd level 3 compression and per-stage timing breakdown:
sudo python3 cli.py x86_64 --preset desktop-xfce --fast --tmpfs --benchmark --mode real
Example 3: Specialized Flavour Build (Rescue & SysAdmin Edition)
Build an all-in-one system rescue, forensics, and partition recovery ISO:
sudo python3 cli.py x86_64 --preset rescue-sysadmin --mode real
Example 4: Full Localization & System Configuration
Build an ISO customized with Portuguese localization, custom hostname, and root credentials:
sudo python3 cli.py x86_64 -P desktop-xfce \
--hostname void-portugal \
--locale pt_PT.UTF-8 \
--timezone Europe/Lisbon \
--keymap pt-latin1 \
--root-password "SecretPass123" \
--mode real
Example 5: Developer Workstation with SSH Key Ingestion
Build a developer environment with Rust, Go, Python, Podman, and inject your host SSH public key:
sudo python3 cli.py x86_64 --preset developer \
--ssh-key ~/.ssh/id_ed25519.pub \
--mode real
Example 6: Gaming Edition with Steam & Multilib
Build a gaming-ready ISO with Steam, Vulkan drivers, Wine, and automated multilib/nonfree repo configuration:
sudo python3 cli.py x86_64 --preset gaming --mode real
Example 7: Raspberry Pi 4 64-Bit Disk Image
Generate a bootable SD Card image for Raspberry Pi 4/5:
# Setup host cross-emulation once
sudo ./setup_host_build_env.sh
# Build Raspberry Pi 64-bit disk image
sudo python3 cli.py rpi-aarch64 --mode real
Example 8: Lifecycle Hooks Execution
Execute customized shell scripts during build phases:
sudo python3 cli.py x86_64 -P minimal \
--hook post-install:configs/hooks/post-install.example.sh \
--mode real
Example 9: Container RootFS Export
Export a customized Void Linux rootfs tarball for LXC, Docker, or Podman:
sudo python3 cli.py x86_64 -P minimal --format tarball --mode real
Example 10: Calamares Graphical Installer Live ISO
Compile the Calamares graphical installer and inject it into an XFCE live ISO:
sudo python3 cli.py x86_64 -d xfce --with-calamares --mode real